package com.gongyi.lambda;

public class TestLambda2 {
    public static void main(String[] args) {
        //1.lambda表达式简化
        ILove love = (int a) -> {
            System.out.println("I love you-->" + a);
        };
        //简化1，去掉参数类型
        love = (a) -> {
            System.out.println("I love you-->" + a);
        };
        //简化2，去掉括号
        love = a -> {
            System.out.println("I love you-->" + a);
            System.out.println("I love you-->too");
        };
        //简化3，去掉花括号
        love = a -> System.out.println("I love you-->" + a);
        love.love(520);
        /**
         * 总结：
         * lambda表达式在只有一行代码的情况下才可以简化为1行，如果有多行，就用代码块包裹
         * 前提是接口为函数式接口，比如Runnable接口就是函数式接口
         * 多个参数也可以去掉参数类型，要去掉就都去掉，必须加上括号
         */

    }
}

interface ILove {
    void love(int a);//模拟TestLambda1中的场景，通过移动代码实现
}
